package practise01

/** *
  * unapply unapplySeq的常用套路
  *
  * 提取器，顾名思义就是提取内容，并且还是个方法，那我们就可以把自己的业务逻辑放进去提取内容
  *
  * 套路1:使用unapply来做个简单操作，例如提取前两位字符并且转换成大写
  */

object unapplyOne {
  def unapply(arg: String): Option[String] = {
    Some {
      arg.substring(0, 2).toUpperCase()
    }
  }
}

object unapplyOneTest {
  def main(args: Array[String]): Unit = {
    "abcd" match {
      case unapplyOne(s) => println(s)
    }

    "a" match {
      case unapplyOne(s) => println(s)
    }
  }
}


